package com.cleaningcloud.erp.domain;

import java.util.Date;

import com.cleaningcloud.common.core.web.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.cleaningcloud.common.core.annotation.Excel;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 销售出库对象 erp_outbound
 * 
 * @author cleaningcloud
 * @date 2024-10-02
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class ErpOutbound extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 出库ID */
    private Long outboundId;

    /** 应收账款ID */
    private Long receivableId;

    /** 仓库ID */
    private Long wareId;

    /** 出库编号 */
    @Excel(name = "出库编号", sort = 1)
    private String outboundNo;

    /** 出库状态(1待出库2已出库) */
    @Excel(name = "出库状态", sort = 8, readConverterExp = "1=待出库,2=已出库")
    private Integer outboundStatus;

    /** 出库人ID */
    private Long outboundPerson;

    /** 出库时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "出库时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 12)
    private Date outboundTime;

    /** 应出库总量 */
    @Excel(name = "预计出库量", sort = 6)
    private int answerScheduledReceipt;

    /** 创建人ID */
    private Long createId;

    /** 创建人名称 */
    @Excel(name = "创建人", sort = 13)
    private String createName;

    /** 备注是否关闭 */
    private String flag;

    /** 出库类型(1销售2退换货) */
    @Excel(name = "出库类型", sort = 5,  readConverterExp = "1=销售,2=采购退换,3=销售退换")
    private Integer outboundType;

    // 批量导出ids
    private String exportIds;

    // 是否收货
    private int isHarvest;

    // 收货时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date harvestTime;

    // 收货图片
    private String harvestImg;

    // 收货时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date deliverTime;
}
